## Java Version
# public static String[] chars = new String[] { "a", "b", "c", "d", "e", "f",
# 			"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
# 			"t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
# 			"6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
# 			"J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
# 			"W", "X", "Y", "Z" };
#
#
# public static String generateShortUuid() {
# 	StringBuffer shortBuffer = new StringBuffer();
# 	String uuid = UUID.randomUUID().toString().replace("-", "");
# 	for (int i = 0; i < 8; i++) {
# 		String str = uuid.substring(i * 4, i * 4 + 4);
# 		int x = Integer.parseInt(str, 16);
# 		shortBuffer.append(chars[x % 0x3E]);
# 	}
# 	return shortBuffer.toString();
#
# }

## Python Version
import uuid

def make_random(total=1, length=5):
    for i in range(total):
        base = list('abcdefghijklmbopqrstuvwxyzABCDEFGHIJKLMBOPQRSTUVWXYZ0123456789')
        seed = str(uuid.uuid4()).replace('-', '')
        lst = []
        for i in range(length):
            sub_str = seed[i*4:i*4+4]
            x = int(sub_str, 16)
            lst.append(base[x % 62])

        yield ''.join(lst)

if __name__ == '__main__':
    lst = []
    for i in make_random(1000000):
       lst.append(i)
    print len(set(lst))

        